Skip to content

Documentation for removal of CMSObject from core code#380

Merged
laoneo merged 5 commits intojoomla:mainfrom
Hackwar:cmsobject
Feb 13, 2025
Merged

Documentation for removal of CMSObject from core code#380
laoneo merged 5 commits intojoomla:mainfrom
Hackwar:cmsobject

Conversation

@Hackwar
Copy link
Member

@Hackwar Hackwar commented Feb 2, 2025

User description

This is the documentation PR for joomla/joomla-cms#44655 and joomla/joomla-cms#43795


PR Type

Documentation


Description

  • Documented the removal of CMSObject usage in Joomla core.

  • Highlighted affected components and models transitioning to \stdClass.

  • Provided details on changes in specific methods and components.


Changes walkthrough 📝

Relevant files
Documentation
removed-backward-incompatibility.md
Documented removal of `CMSObject` in Joomla core                 

migrations/54-60/removed-backward-incompatibility.md

  • Added documentation for the removal of CMSObject in Joomla core.
  • Listed affected components and models transitioning to \stdClass.
  • Explained changes in specific methods and components.
  • +14/-0   

    Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • @qodo-code-review
    Copy link
    Contributor

    Qodo Merge was enabled for this repository. To continue using it, please link your Git account with your Qodo account here.

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ No major issues detected

    @qodo-code-review
    Copy link
    Contributor

    Qodo Merge was enabled for this repository. To continue using it, please link your Git account with your Qodo account here.

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    General
    Add backward compatibility warning notice

    Add a warning note about potential backward compatibility issues for third-party
    extensions that may still rely on CMSObject-specific methods, as they will need
    to update their code to work with stdClass objects.

    migrations/54-60/removed-backward-incompatibility.md [125]

    -- Description: The `CMSObject` class has been problematic for a long time, because it allows to circumvent the visibility setting of object properties. The `CMSObject` class will be removed in Joomla 7.0, but with Joomla 6.0 it is removed everywhere in the core code.
    +- Description: The `CMSObject` class has been problematic for a long time, because it allows to circumvent the visibility setting of object properties. The `CMSObject` class will be removed in Joomla 7.0, but with Joomla 6.0 it is removed everywhere in the core code. **Warning**: Third-party extensions that rely on CMSObject-specific methods will need to update their code to work with stdClass objects, as methods like get(), set(), and getProperties() will no longer be available.
    • Apply this suggestion
    Suggestion importance[1-10]: 8

    Why: The suggestion adds crucial information about backward compatibility impact on third-party extensions, which is essential for developers to understand the migration requirements and potential breaking changes when upgrading to Joomla 6.0.

    8

    @laoneo laoneo merged commit 2e98870 into joomla:main Feb 13, 2025
    1 check was pending
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    4 participants